﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;


namespace ServiceDeskUNAB.Controlador
{
    class PermisoControlador
    {
        private static PermisoControlador instance;


        private PermisoControlador()
        {           
        }

        public static PermisoControlador Instance
        {
            get
            {
                if (instance == null)
                {
                    instance = new PermisoControlador();
                }
                return instance;
            }
        }
        public bool Ingresar(int ID_Permiso, string Nombre_Permiso)
        {

            try
            {
                SqlCommand com = new SqlCommand();


                com.CommandText = "INSERT INTO Permiso" +
                    "(ID_Permiso, Nombre_Permiso)" + "VALUES" +
                    "(@ID_Permiso, @Nombre_Permiso)";

                com.Parameters.AddWithValue("@ID_Permiso", ID_Permiso);
                com.Parameters.AddWithValue("@Nombres_Permiso", Nombre_Permiso);


                com.Connection = Conexion.Instance.Con;
                SqlDataReader ejecutar = com.ExecuteReader();
                Conexion.Instance.Con.Close();
                return true;
            }
            catch (Exception e)
            {
                Conexion.Instance.Con.Close();
                Console.WriteLine(e.Message);
                return false;
                throw;
            }

        }
        public bool Modificar(int ID_Permiso, string Nombre_Permiso)
        {
            try
            {
                SqlCommand com = new SqlCommand();


                com.CommandText = "UPDATE Permiso " +
                    "SET Nombre_Permiso = @Nombre_Permiso" +
                    "WHERE ID_Permiso = @ID_Permiso";

                com.Parameters.AddWithValue("@ID_Permiso", ID_Permiso);
                com.Parameters.AddWithValue("@Nombres_Permiso", Nombre_Permiso);

                com.Connection = Conexion.Instance.Con;
                SqlDataReader ejecutar = com.ExecuteReader();
                // TODO terminar esto

                Conexion.Instance.Con.Close();
                return true;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Conexion.Instance.Con.Close();
                return false;
                throw;
            }
        }
        public bool Eliminar(string ID_Permiso)
        {
            bool resultado = false;
            try
            {
                SqlCommand com = new SqlCommand("DELETE FROM Permiso WHERE ID_Permiso = '" + ID_Permiso + "')");
                SqlDataReader ejecutar = com.ExecuteReader();
                if (ejecutar.Read())
                {
                    resultado = true;
                }
                Conexion.Instance.Con.Close();
                return resultado;
            }
            catch (Exception)
            {
                Conexion.Instance.Con.Close();
                return resultado;
                throw;
            }
        }
    }
}
